home *** CD-ROM | disk | FTP | other *** search
- send mail to wave@media.mit.edu with any questions.
-
- Bugs in the WavesWorld 3DKit IB palette and library:
-
- - haven't exhaustively checked bounding boxes for all primitives -
- some are probably wrong
-
- - Patch bounding boxes for non bezier bases definitely aren't right
- because I'm not doing the bases conversion to get convex hull
- property...
-
- - need a button to show the last error (i.e. send "set errorInfo")
-
- - need to catch all tcl errors and show user
- * I think this is fixed
-
- - need to do what Emacs.app and PB do together when you get an error
- * I don't know if I can do this... how do the tcl debuggers give line numbers?
-
- - Paraboloid has some problems - it doesn't seem to pr render, and the zMin seems off...
- * this is a prman/qrman skew. I've fixed RIBParaboloid to clamp correctly...
-
- - the cursor should change as you move into the WWRIBWell, and should
- also change as you hold down the modifier keys.
-
- - implement shader inspector
- * pretty much done
-
- - finish implementing shape inspector
-
- - when you add a shader to a shape that is not one of the qrman
- implemented ones ("constant", "matte", "metal", "shinymetal",
- "paintedplastic", and "plastic"), the 3DKit now uses some other
- shader (I haven't figured out which) when it is rendering to
- the screen. The good part is that you can always see your
- geometry, the problem is that you get no feedback on what lighting
- is doing to your geometry. Given that the bulk of other shaders
- have a similar illumination pattern as one of the implemented
- shaders (i.e. you usually copy plastic.sl or metal.sl and then muck
- about with texture, not really the other part), it makes sense
- to allow a shader to pretend to be another shader for quick rendering.
-
- - I originally implemented the WW3DCamera to try and keep rendering
- after a mouseDown:, so that if left alone, the picture would eventually
- fill in. I disabled this before, but I think I might put it back.
- One thing to think about is using perform:with:afterDelay:cancelPrevious,
- as that might be the most Appkit-friendly way of doing things. Here are
- some of the issues:
-
- - if you use renderAsTIFF, the render panel runs. Yuck.
- - if you start rendering right at the end of the mouse down, you might
- be starting things too eagerly. You need an amount to delay after
- the last mouse down before going to the trouble of initiating a render.
- - if the crop window is selected, should that be the only part that
- gets progressively rendered? Probably...
- - You want at least 3 levels of things, maybe 3, something like
- Typestry's quick-and-dirty, reasonable, and excellent-and-slow.
- - clearly, I think, we'll want to have the camera have a
- backgroundRender thread. The first time it does a background
- render the thread will get built, and then after that it will
- just be around until the camera gets free'd.